<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>System.Win32.File</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">Win32-2.12.0.1: A binding to Windows Win32 API.</span><ul class="links" id="page-menu"><li><a href="src/System.Win32.File.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Alastair Reid 1997-2003</td></tr><tr><th>License</th><td>BSD-style (see the file libraries/base/LICENSE)</td></tr><tr><th>Maintainer</th><td>Esa Ilari Vuokko &lt;ei@vuokko.info&gt;</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">System.Win32.File</p></div><div id="table-of-contents"><div id="contents-list"><p class="caption" onclick="window.scrollTo(0,0)">Contents</p><ul><li><a href="#g:1">Access modes</a></li><li><a href="#g:2">Sharing modes</a></li><li><a href="#g:3">Creation modes</a></li><li><a href="#g:4">File attributes and flags</a></li><li><a href="#g:5">Move file flags</a></li><li><a href="#g:6">File pointer directions</a></li><li><a href="#g:7">Drive types</a></li><li><a href="#g:8">Define DOS device flags</a></li><li><a href="#g:9">Binary types</a></li><li><a href="#g:10">File notification flags</a></li><li><a href="#g:11">File types</a></li><li><a href="#g:12">Lock modes</a></li><li><a href="#g:13">GetFileEx information levels</a></li><li><a href="#g:14">Security attributes</a></li><li><a href="#g:15">BY_HANDLE file information</a></li><li><a href="#g:16">Win32 file attribute data</a></li><li><a href="#g:17">Helpers</a></li><li><a href="#g:18">File operations</a></li><li><a href="#g:19">HANDLE operations</a><ul><li><a href="#g:20">Reading/writing</a></li></ul></li><li><a href="#g:21">File notifications</a></li><li><a href="#g:22">Directories</a></li><li><a href="#g:23">DOS device flags</a></li><li><a href="#g:24">File locks</a></li></ul></div></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A collection of FFI declarations for interfacing with Win32.</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">type</span> <a href="#t:AccessMode">AccessMode</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a></li><li class="src short"><a href="#v:gENERIC_NONE">gENERIC_NONE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:gENERIC_READ">gENERIC_READ</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:gENERIC_WRITE">gENERIC_WRITE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:gENERIC_EXECUTE">gENERIC_EXECUTE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:gENERIC_ALL">gENERIC_ALL</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:dELETE">dELETE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:rEAD_CONTROL">rEAD_CONTROL</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:wRITE_DAC">wRITE_DAC</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:wRITE_OWNER">wRITE_OWNER</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:sYNCHRONIZE">sYNCHRONIZE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:sTANDARD_RIGHTS_REQUIRED">sTANDARD_RIGHTS_REQUIRED</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:sTANDARD_RIGHTS_READ">sTANDARD_RIGHTS_READ</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:sTANDARD_RIGHTS_WRITE">sTANDARD_RIGHTS_WRITE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:sTANDARD_RIGHTS_EXECUTE">sTANDARD_RIGHTS_EXECUTE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:sTANDARD_RIGHTS_ALL">sTANDARD_RIGHTS_ALL</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:sPECIFIC_RIGHTS_ALL">sPECIFIC_RIGHTS_ALL</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:aCCESS_SYSTEM_SECURITY">aCCESS_SYSTEM_SECURITY</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:mAXIMUM_ALLOWED">mAXIMUM_ALLOWED</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_ADD_FILE">fILE_ADD_FILE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_ADD_SUBDIRECTORY">fILE_ADD_SUBDIRECTORY</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_ALL_ACCESS">fILE_ALL_ACCESS</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_APPEND_DATA">fILE_APPEND_DATA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_CREATE_PIPE_INSTANCE">fILE_CREATE_PIPE_INSTANCE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_DELETE_CHILD">fILE_DELETE_CHILD</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_EXECUTE">fILE_EXECUTE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_LIST_DIRECTORY">fILE_LIST_DIRECTORY</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_READ_ATTRIBUTES">fILE_READ_ATTRIBUTES</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_READ_DATA">fILE_READ_DATA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_READ_EA">fILE_READ_EA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_TRAVERSE">fILE_TRAVERSE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_WRITE_ATTRIBUTES">fILE_WRITE_ATTRIBUTES</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_WRITE_DATA">fILE_WRITE_DATA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><a href="#v:fILE_WRITE_EA">fILE_WRITE_EA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:ShareMode">ShareMode</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a></li><li class="src short"><a href="#v:fILE_SHARE_NONE">fILE_SHARE_NONE</a> :: <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a></li><li class="src short"><a href="#v:fILE_SHARE_READ">fILE_SHARE_READ</a> :: <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a></li><li class="src short"><a href="#v:fILE_SHARE_WRITE">fILE_SHARE_WRITE</a> :: <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a></li><li class="src short"><a href="#v:fILE_SHARE_DELETE">fILE_SHARE_DELETE</a> :: <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:CreateMode">CreateMode</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a></li><li class="src short"><a href="#v:cREATE_NEW">cREATE_NEW</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a></li><li class="src short"><a href="#v:cREATE_ALWAYS">cREATE_ALWAYS</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a></li><li class="src short"><a href="#v:oPEN_EXISTING">oPEN_EXISTING</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a></li><li class="src short"><a href="#v:oPEN_ALWAYS">oPEN_ALWAYS</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a></li><li class="src short"><a href="#v:tRUNCATE_EXISTING">tRUNCATE_EXISTING</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:FileAttributeOrFlag">FileAttributeOrFlag</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_READONLY">fILE_ATTRIBUTE_READONLY</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_HIDDEN">fILE_ATTRIBUTE_HIDDEN</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_SYSTEM">fILE_ATTRIBUTE_SYSTEM</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_DIRECTORY">fILE_ATTRIBUTE_DIRECTORY</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_ARCHIVE">fILE_ATTRIBUTE_ARCHIVE</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_NORMAL">fILE_ATTRIBUTE_NORMAL</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_TEMPORARY">fILE_ATTRIBUTE_TEMPORARY</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_COMPRESSED">fILE_ATTRIBUTE_COMPRESSED</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_ATTRIBUTE_REPARSE_POINT">fILE_ATTRIBUTE_REPARSE_POINT</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_FLAG_WRITE_THROUGH">fILE_FLAG_WRITE_THROUGH</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_FLAG_OVERLAPPED">fILE_FLAG_OVERLAPPED</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_FLAG_NO_BUFFERING">fILE_FLAG_NO_BUFFERING</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_FLAG_RANDOM_ACCESS">fILE_FLAG_RANDOM_ACCESS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_FLAG_SEQUENTIAL_SCAN">fILE_FLAG_SEQUENTIAL_SCAN</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_FLAG_DELETE_ON_CLOSE">fILE_FLAG_DELETE_ON_CLOSE</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_FLAG_BACKUP_SEMANTICS">fILE_FLAG_BACKUP_SEMANTICS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:fILE_FLAG_POSIX_SEMANTICS">fILE_FLAG_POSIX_SEMANTICS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:sECURITY_ANONYMOUS">sECURITY_ANONYMOUS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:sECURITY_IDENTIFICATION">sECURITY_IDENTIFICATION</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:sECURITY_IMPERSONATION">sECURITY_IMPERSONATION</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:sECURITY_DELEGATION">sECURITY_DELEGATION</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:sECURITY_CONTEXT_TRACKING">sECURITY_CONTEXT_TRACKING</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:sECURITY_EFFECTIVE_ONLY">sECURITY_EFFECTIVE_ONLY</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:sECURITY_SQOS_PRESENT">sECURITY_SQOS_PRESENT</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:sECURITY_VALID_SQOS_FLAGS">sECURITY_VALID_SQOS_FLAGS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:MoveFileFlag">MoveFileFlag</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:mOVEFILE_REPLACE_EXISTING">mOVEFILE_REPLACE_EXISTING</a> :: <a href="System-Win32-File.html#t:MoveFileFlag" title="System.Win32.File">MoveFileFlag</a></li><li class="src short"><a href="#v:mOVEFILE_COPY_ALLOWED">mOVEFILE_COPY_ALLOWED</a> :: <a href="System-Win32-File.html#t:MoveFileFlag" title="System.Win32.File">MoveFileFlag</a></li><li class="src short"><a href="#v:mOVEFILE_DELAY_UNTIL_REBOOT">mOVEFILE_DELAY_UNTIL_REBOOT</a> :: <a href="System-Win32-File.html#t:MoveFileFlag" title="System.Win32.File">MoveFileFlag</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:FilePtrDirection">FilePtrDirection</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:fILE_BEGIN">fILE_BEGIN</a> :: <a href="System-Win32-File.html#t:FilePtrDirection" title="System.Win32.File">FilePtrDirection</a></li><li class="src short"><a href="#v:fILE_CURRENT">fILE_CURRENT</a> :: <a href="System-Win32-File.html#t:FilePtrDirection" title="System.Win32.File">FilePtrDirection</a></li><li class="src short"><a href="#v:fILE_END">fILE_END</a> :: <a href="System-Win32-File.html#t:FilePtrDirection" title="System.Win32.File">FilePtrDirection</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:DriveType">DriveType</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a></li><li class="src short"><a href="#v:dRIVE_UNKNOWN">dRIVE_UNKNOWN</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a></li><li class="src short"><a href="#v:dRIVE_NO_ROOT_DIR">dRIVE_NO_ROOT_DIR</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a></li><li class="src short"><a href="#v:dRIVE_REMOVABLE">dRIVE_REMOVABLE</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a></li><li class="src short"><a href="#v:dRIVE_FIXED">dRIVE_FIXED</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a></li><li class="src short"><a href="#v:dRIVE_REMOTE">dRIVE_REMOTE</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a></li><li class="src short"><a href="#v:dRIVE_CDROM">dRIVE_CDROM</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a></li><li class="src short"><a href="#v:dRIVE_RAMDISK">dRIVE_RAMDISK</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:DefineDosDeviceFlags">DefineDosDeviceFlags</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:dDD_RAW_TARGET_PATH">dDD_RAW_TARGET_PATH</a> :: <a href="System-Win32-File.html#t:DefineDosDeviceFlags" title="System.Win32.File">DefineDosDeviceFlags</a></li><li class="src short"><a href="#v:dDD_REMOVE_DEFINITION">dDD_REMOVE_DEFINITION</a> :: <a href="System-Win32-File.html#t:DefineDosDeviceFlags" title="System.Win32.File">DefineDosDeviceFlags</a></li><li class="src short"><a href="#v:dDD_EXACT_MATCH_ON_REMOVE">dDD_EXACT_MATCH_ON_REMOVE</a> :: <a href="System-Win32-File.html#t:DefineDosDeviceFlags" title="System.Win32.File">DefineDosDeviceFlags</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:BinaryType">BinaryType</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:sCS_32BIT_BINARY">sCS_32BIT_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a></li><li class="src short"><a href="#v:sCS_DOS_BINARY">sCS_DOS_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a></li><li class="src short"><a href="#v:sCS_WOW_BINARY">sCS_WOW_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a></li><li class="src short"><a href="#v:sCS_PIF_BINARY">sCS_PIF_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a></li><li class="src short"><a href="#v:sCS_POSIX_BINARY">sCS_POSIX_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a></li><li class="src short"><a href="#v:sCS_OS216_BINARY">sCS_OS216_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:FileNotificationFlag">FileNotificationFlag</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:fILE_NOTIFY_CHANGE_FILE_NAME">fILE_NOTIFY_CHANGE_FILE_NAME</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a></li><li class="src short"><a href="#v:fILE_NOTIFY_CHANGE_DIR_NAME">fILE_NOTIFY_CHANGE_DIR_NAME</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a></li><li class="src short"><a href="#v:fILE_NOTIFY_CHANGE_ATTRIBUTES">fILE_NOTIFY_CHANGE_ATTRIBUTES</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a></li><li class="src short"><a href="#v:fILE_NOTIFY_CHANGE_SIZE">fILE_NOTIFY_CHANGE_SIZE</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a></li><li class="src short"><a href="#v:fILE_NOTIFY_CHANGE_LAST_WRITE">fILE_NOTIFY_CHANGE_LAST_WRITE</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a></li><li class="src short"><a href="#v:fILE_NOTIFY_CHANGE_SECURITY">fILE_NOTIFY_CHANGE_SECURITY</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:FileType">FileType</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:fILE_TYPE_UNKNOWN">fILE_TYPE_UNKNOWN</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a></li><li class="src short"><a href="#v:fILE_TYPE_DISK">fILE_TYPE_DISK</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a></li><li class="src short"><a href="#v:fILE_TYPE_CHAR">fILE_TYPE_CHAR</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a></li><li class="src short"><a href="#v:fILE_TYPE_PIPE">fILE_TYPE_PIPE</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a></li><li class="src short"><a href="#v:fILE_TYPE_REMOTE">fILE_TYPE_REMOTE</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:LockMode">LockMode</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:lOCKFILE_EXCLUSIVE_LOCK">lOCKFILE_EXCLUSIVE_LOCK</a> :: <a href="System-Win32-File.html#t:LockMode" title="System.Win32.File">LockMode</a></li><li class="src short"><a href="#v:lOCKFILE_FAIL_IMMEDIATELY">lOCKFILE_FAIL_IMMEDIATELY</a> :: <a href="System-Win32-File.html#t:LockMode" title="System.Win32.File">LockMode</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:GET_FILEEX_INFO_LEVELS">GET_FILEEX_INFO_LEVELS</a></li><li class="src short"><a href="#v:getFileExInfoStandard">getFileExInfoStandard</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a></li><li class="src short"><a href="#v:getFileExMaxInfoLevel">getFileExMaxInfoLevel</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:SECURITY_ATTRIBUTES">SECURITY_ATTRIBUTES</a> = <a href="#v:SECURITY_ATTRIBUTES">SECURITY_ATTRIBUTES</a> {<ul class="subs"><li><a href="#v:nLength">nLength</a> :: !<a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li><a href="#v:lpSecurityDescriptor">lpSecurityDescriptor</a> :: !<a href="System-Win32-Types.html#t:LPVOID" title="System.Win32.Types">LPVOID</a></li><li><a href="#v:bInheritHandle">bInheritHandle</a> :: !<a href="System-Win32-Types.html#t:BOOL" title="System.Win32.Types">BOOL</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:PSECURITY_ATTRIBUTES">PSECURITY_ATTRIBUTES</a> = <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:LPSECURITY_ATTRIBUTES">LPSECURITY_ATTRIBUTES</a> = <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:MbLPSECURITY_ATTRIBUTES">MbLPSECURITY_ATTRIBUTES</a> = <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPSECURITY_ATTRIBUTES" title="System.Win32.File">LPSECURITY_ATTRIBUTES</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:BY_HANDLE_FILE_INFORMATION">BY_HANDLE_FILE_INFORMATION</a> = <a href="#v:BY_HANDLE_FILE_INFORMATION">BY_HANDLE_FILE_INFORMATION</a> {<ul class="subs"><li><a href="#v:bhfiFileAttributes">bhfiFileAttributes</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li><a href="#v:bhfiCreationTime">bhfiCreationTime</a>, <a href="#v:bhfiLastAccessTime">bhfiLastAccessTime</a>, <a href="#v:bhfiLastWriteTime">bhfiLastWriteTime</a> :: <a href="System-Win32-Time.html#t:FILETIME" title="System.Win32.Time">FILETIME</a></li><li><a href="#v:bhfiVolumeSerialNumber">bhfiVolumeSerialNumber</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li><a href="#v:bhfiSize">bhfiSize</a> :: <a href="System-Win32-Types.html#t:DDWORD" title="System.Win32.Types">DDWORD</a></li><li><a href="#v:bhfiNumberOfLinks">bhfiNumberOfLinks</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li><a href="#v:bhfiFileIndex">bhfiFileIndex</a> :: <a href="System-Win32-Types.html#t:DDWORD" title="System.Win32.Types">DDWORD</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:WIN32_FILE_ATTRIBUTE_DATA">WIN32_FILE_ATTRIBUTE_DATA</a> = <a href="#v:WIN32_FILE_ATTRIBUTE_DATA">WIN32_FILE_ATTRIBUTE_DATA</a> {<ul class="subs"><li><a href="#v:fadFileAttributes">fadFileAttributes</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li><a href="#v:fadCreationTime">fadCreationTime</a>, <a href="#v:fadLastAccessTime">fadLastAccessTime</a>, <a href="#v:fadLastWriteTime">fadLastWriteTime</a> :: <a href="System-Win32-Time.html#t:FILETIME" title="System.Win32.Time">FILETIME</a></li><li><a href="#v:fadFileSize">fadFileSize</a> :: <a href="System-Win32-Types.html#t:DDWORD" title="System.Win32.Types">DDWORD</a></li></ul>}</li><li class="src short"><a href="#v:failIfWithRetry">failIfWithRetry</a> :: (a -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> a -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> a</li><li class="src short"><a href="#v:failIfWithRetry_">failIfWithRetry_</a> :: (a -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> a -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:failIfFalseWithRetry_">failIfFalseWithRetry_</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:deleteFile">deleteFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:copyFile">copyFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:moveFile">moveFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:moveFileEx">moveFileEx</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="System-Win32-File.html#t:MoveFileFlag" title="System.Win32.File">MoveFileFlag</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:setCurrentDirectory">setCurrentDirectory</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:createDirectory">createDirectory</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPSECURITY_ATTRIBUTES" title="System.Win32.File">LPSECURITY_ATTRIBUTES</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:createDirectoryEx">createDirectoryEx</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPSECURITY_ATTRIBUTES" title="System.Win32.File">LPSECURITY_ATTRIBUTES</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:removeDirectory">removeDirectory</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:getBinaryType">getBinaryType</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a></li><li class="src short"><a href="#v:createFile">createFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> -&gt; <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPSECURITY_ATTRIBUTES" title="System.Win32.File">LPSECURITY_ATTRIBUTES</a> -&gt; <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a> -&gt; <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a></li><li class="src short"><a href="#v:closeHandle">closeHandle</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:getFileType">getFileType</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a></li><li class="src short"><a href="#v:flushFileBuffers">flushFileBuffers</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:setEndOfFile">setEndOfFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:setFileAttributes">setFileAttributes</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:getFileAttributes">getFileAttributes</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></li><li class="src short"><a href="#v:getFileAttributesExStandard">getFileAttributesExStandard</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a></li><li class="src short"><a href="#v:getFileInformationByHandle">getFileInformationByHandle</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:OVERLAPPED">OVERLAPPED</a> = <a href="#v:OVERLAPPED">OVERLAPPED</a> {<ul class="subs"><li><a href="#v:ovl_internal">ovl_internal</a> :: <a href="System-Win32-Types.html#t:ULONG_PTR" title="System.Win32.Types">ULONG_PTR</a></li><li><a href="#v:ovl_internalHigh">ovl_internalHigh</a> :: <a href="System-Win32-Types.html#t:ULONG_PTR" title="System.Win32.Types">ULONG_PTR</a></li><li><a href="#v:ovl_offset">ovl_offset</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li><a href="#v:ovl_offsetHigh">ovl_offsetHigh</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li><a href="#v:ovl_hEvent">ovl_hEvent</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:LPOVERLAPPED">LPOVERLAPPED</a> = <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:MbLPOVERLAPPED">MbLPOVERLAPPED</a> = <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPOVERLAPPED" title="System.Win32.File">LPOVERLAPPED</a></li><li class="src short"><a href="#v:win32_ReadFile">win32_ReadFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> a -&gt; <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPOVERLAPPED" title="System.Win32.File">LPOVERLAPPED</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:win32_WriteFile">win32_WriteFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> a -&gt; <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPOVERLAPPED" title="System.Win32.File">LPOVERLAPPED</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:setFilePointerEx">setFilePointerEx</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="System-Win32-Types.html#t:LARGE_INTEGER" title="System.Win32.Types">LARGE_INTEGER</a> -&gt; <a href="System-Win32-File.html#t:FilePtrDirection" title="System.Win32.File">FilePtrDirection</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:LARGE_INTEGER" title="System.Win32.Types">LARGE_INTEGER</a></li><li class="src short"><a href="#v:findFirstChangeNotification">findFirstChangeNotification</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a></li><li class="src short"><a href="#v:findNextChangeNotification">findNextChangeNotification</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:findCloseChangeNotification">findCloseChangeNotification</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><span class="keyword">data</span> <a href="#t:FindData">FindData</a></li><li class="src short"><a href="#v:getFindDataFileName">getFindDataFileName</a> :: <a href="System-Win32-File.html#t:FindData" title="System.Win32.File">FindData</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="../base/System-IO.html#t:FilePath" title="System.IO">FilePath</a></li><li class="src short"><a href="#v:findFirstFile">findFirstFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> (<a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a>, <a href="System-Win32-File.html#t:FindData" title="System.Win32.File">FindData</a>)</li><li class="src short"><a href="#v:findNextFile">findNextFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="System-Win32-File.html#t:FindData" title="System.Win32.File">FindData</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></li><li class="src short"><a href="#v:findClose">findClose</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:defineDosDevice">defineDosDevice</a> :: <a href="System-Win32-File.html#t:DefineDosDeviceFlags" title="System.Win32.File">DefineDosDeviceFlags</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:areFileApisANSI">areFileApisANSI</a> :: <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a></li><li class="src short"><a href="#v:setFileApisToOEM">setFileApisToOEM</a> :: <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:setFileApisToANSI">setFileApisToANSI</a> :: <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:setHandleCount">setHandleCount</a> :: <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a></li><li class="src short"><a href="#v:getLogicalDrives">getLogicalDrives</a> :: <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></li><li class="src short"><a href="#v:getDiskFreeSpace">getDiskFreeSpace</a> :: <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> (<a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a>, <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a>, <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a>, <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a>)</li><li class="src short"><a href="#v:setVolumeLabel">setVolumeLabel</a> :: <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> ()</li><li class="src short"><a href="#v:lockFile">lockFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="System-Win32-File.html#t:LockMode" title="System.Win32.File">LockMode</a> -&gt; <a href="System-Win32-Types.html#t:DWORD64" title="System.Win32.Types">DWORD64</a> -&gt; <a href="System-Win32-Types.html#t:DWORD64" title="System.Win32.Types">DWORD64</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:BOOL" title="System.Win32.Types">BOOL</a></li><li class="src short"><a href="#v:unlockFile">unlockFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="System-Win32-Types.html#t:DWORD64" title="System.Win32.Types">DWORD64</a> -&gt; <a href="System-Win32-Types.html#t:DWORD64" title="System.Win32.Types">DWORD64</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:BOOL" title="System.Win32.Types">BOOL</a></li></ul></details></div><div id="interface"><a href="#g:1" id="g:1"><h1>Access modes</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:AccessMode" class="def">AccessMode</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a> <a href="src/System.Win32.File.html#AccessMode" class="link">Source</a> <a href="#t:AccessMode" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gENERIC_NONE" class="def">gENERIC_NONE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#gENERIC_NONE" class="link">Source</a> <a href="#v:gENERIC_NONE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gENERIC_READ" class="def">gENERIC_READ</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#gENERIC_READ" class="link">Source</a> <a href="#v:gENERIC_READ" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gENERIC_WRITE" class="def">gENERIC_WRITE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#gENERIC_WRITE" class="link">Source</a> <a href="#v:gENERIC_WRITE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gENERIC_EXECUTE" class="def">gENERIC_EXECUTE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#gENERIC_EXECUTE" class="link">Source</a> <a href="#v:gENERIC_EXECUTE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gENERIC_ALL" class="def">gENERIC_ALL</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#gENERIC_ALL" class="link">Source</a> <a href="#v:gENERIC_ALL" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dELETE" class="def">dELETE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#dELETE" class="link">Source</a> <a href="#v:dELETE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:rEAD_CONTROL" class="def">rEAD_CONTROL</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#rEAD_CONTROL" class="link">Source</a> <a href="#v:rEAD_CONTROL" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:wRITE_DAC" class="def">wRITE_DAC</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#wRITE_DAC" class="link">Source</a> <a href="#v:wRITE_DAC" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:wRITE_OWNER" class="def">wRITE_OWNER</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#wRITE_OWNER" class="link">Source</a> <a href="#v:wRITE_OWNER" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sYNCHRONIZE" class="def">sYNCHRONIZE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#sYNCHRONIZE" class="link">Source</a> <a href="#v:sYNCHRONIZE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sTANDARD_RIGHTS_REQUIRED" class="def">sTANDARD_RIGHTS_REQUIRED</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#sTANDARD_RIGHTS_REQUIRED" class="link">Source</a> <a href="#v:sTANDARD_RIGHTS_REQUIRED" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sTANDARD_RIGHTS_READ" class="def">sTANDARD_RIGHTS_READ</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#sTANDARD_RIGHTS_READ" class="link">Source</a> <a href="#v:sTANDARD_RIGHTS_READ" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sTANDARD_RIGHTS_WRITE" class="def">sTANDARD_RIGHTS_WRITE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#sTANDARD_RIGHTS_WRITE" class="link">Source</a> <a href="#v:sTANDARD_RIGHTS_WRITE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sTANDARD_RIGHTS_EXECUTE" class="def">sTANDARD_RIGHTS_EXECUTE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#sTANDARD_RIGHTS_EXECUTE" class="link">Source</a> <a href="#v:sTANDARD_RIGHTS_EXECUTE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sTANDARD_RIGHTS_ALL" class="def">sTANDARD_RIGHTS_ALL</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#sTANDARD_RIGHTS_ALL" class="link">Source</a> <a href="#v:sTANDARD_RIGHTS_ALL" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sPECIFIC_RIGHTS_ALL" class="def">sPECIFIC_RIGHTS_ALL</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#sPECIFIC_RIGHTS_ALL" class="link">Source</a> <a href="#v:sPECIFIC_RIGHTS_ALL" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:aCCESS_SYSTEM_SECURITY" class="def">aCCESS_SYSTEM_SECURITY</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#aCCESS_SYSTEM_SECURITY" class="link">Source</a> <a href="#v:aCCESS_SYSTEM_SECURITY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mAXIMUM_ALLOWED" class="def">mAXIMUM_ALLOWED</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#mAXIMUM_ALLOWED" class="link">Source</a> <a href="#v:mAXIMUM_ALLOWED" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ADD_FILE" class="def">fILE_ADD_FILE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_ADD_FILE" class="link">Source</a> <a href="#v:fILE_ADD_FILE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ADD_SUBDIRECTORY" class="def">fILE_ADD_SUBDIRECTORY</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_ADD_SUBDIRECTORY" class="link">Source</a> <a href="#v:fILE_ADD_SUBDIRECTORY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ALL_ACCESS" class="def">fILE_ALL_ACCESS</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_ALL_ACCESS" class="link">Source</a> <a href="#v:fILE_ALL_ACCESS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_APPEND_DATA" class="def">fILE_APPEND_DATA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_APPEND_DATA" class="link">Source</a> <a href="#v:fILE_APPEND_DATA" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_CREATE_PIPE_INSTANCE" class="def">fILE_CREATE_PIPE_INSTANCE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_CREATE_PIPE_INSTANCE" class="link">Source</a> <a href="#v:fILE_CREATE_PIPE_INSTANCE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_DELETE_CHILD" class="def">fILE_DELETE_CHILD</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_DELETE_CHILD" class="link">Source</a> <a href="#v:fILE_DELETE_CHILD" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_EXECUTE" class="def">fILE_EXECUTE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_EXECUTE" class="link">Source</a> <a href="#v:fILE_EXECUTE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_LIST_DIRECTORY" class="def">fILE_LIST_DIRECTORY</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_LIST_DIRECTORY" class="link">Source</a> <a href="#v:fILE_LIST_DIRECTORY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_READ_ATTRIBUTES" class="def">fILE_READ_ATTRIBUTES</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_READ_ATTRIBUTES" class="link">Source</a> <a href="#v:fILE_READ_ATTRIBUTES" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_READ_DATA" class="def">fILE_READ_DATA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_READ_DATA" class="link">Source</a> <a href="#v:fILE_READ_DATA" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_READ_EA" class="def">fILE_READ_EA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_READ_EA" class="link">Source</a> <a href="#v:fILE_READ_EA" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_TRAVERSE" class="def">fILE_TRAVERSE</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_TRAVERSE" class="link">Source</a> <a href="#v:fILE_TRAVERSE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_WRITE_ATTRIBUTES" class="def">fILE_WRITE_ATTRIBUTES</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_WRITE_ATTRIBUTES" class="link">Source</a> <a href="#v:fILE_WRITE_ATTRIBUTES" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_WRITE_DATA" class="def">fILE_WRITE_DATA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_WRITE_DATA" class="link">Source</a> <a href="#v:fILE_WRITE_DATA" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_WRITE_EA" class="def">fILE_WRITE_EA</a> :: <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> <a href="src/System.Win32.File.html#fILE_WRITE_EA" class="link">Source</a> <a href="#v:fILE_WRITE_EA" class="selflink">#</a></p></div><a href="#g:2" id="g:2"><h1>Sharing modes</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ShareMode" class="def">ShareMode</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a> <a href="src/System.Win32.File.html#ShareMode" class="link">Source</a> <a href="#t:ShareMode" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_SHARE_NONE" class="def">fILE_SHARE_NONE</a> :: <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a> <a href="src/System.Win32.File.html#fILE_SHARE_NONE" class="link">Source</a> <a href="#v:fILE_SHARE_NONE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_SHARE_READ" class="def">fILE_SHARE_READ</a> :: <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a> <a href="src/System.Win32.File.html#fILE_SHARE_READ" class="link">Source</a> <a href="#v:fILE_SHARE_READ" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_SHARE_WRITE" class="def">fILE_SHARE_WRITE</a> :: <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a> <a href="src/System.Win32.File.html#fILE_SHARE_WRITE" class="link">Source</a> <a href="#v:fILE_SHARE_WRITE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_SHARE_DELETE" class="def">fILE_SHARE_DELETE</a> :: <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a> <a href="src/System.Win32.File.html#fILE_SHARE_DELETE" class="link">Source</a> <a href="#v:fILE_SHARE_DELETE" class="selflink">#</a></p></div><a href="#g:3" id="g:3"><h1>Creation modes</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:CreateMode" class="def">CreateMode</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a> <a href="src/System.Win32.File.html#CreateMode" class="link">Source</a> <a href="#t:CreateMode" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:cREATE_NEW" class="def">cREATE_NEW</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a> <a href="src/System.Win32.File.html#cREATE_NEW" class="link">Source</a> <a href="#v:cREATE_NEW" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:cREATE_ALWAYS" class="def">cREATE_ALWAYS</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a> <a href="src/System.Win32.File.html#cREATE_ALWAYS" class="link">Source</a> <a href="#v:cREATE_ALWAYS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:oPEN_EXISTING" class="def">oPEN_EXISTING</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a> <a href="src/System.Win32.File.html#oPEN_EXISTING" class="link">Source</a> <a href="#v:oPEN_EXISTING" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:oPEN_ALWAYS" class="def">oPEN_ALWAYS</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a> <a href="src/System.Win32.File.html#oPEN_ALWAYS" class="link">Source</a> <a href="#v:oPEN_ALWAYS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:tRUNCATE_EXISTING" class="def">tRUNCATE_EXISTING</a> :: <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a> <a href="src/System.Win32.File.html#tRUNCATE_EXISTING" class="link">Source</a> <a href="#v:tRUNCATE_EXISTING" class="selflink">#</a></p></div><a href="#g:4" id="g:4"><h1>File attributes and flags</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:FileAttributeOrFlag" class="def">FileAttributeOrFlag</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a> <a href="src/System.Win32.File.html#FileAttributeOrFlag" class="link">Source</a> <a href="#t:FileAttributeOrFlag" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_READONLY" class="def">fILE_ATTRIBUTE_READONLY</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_READONLY" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_READONLY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_HIDDEN" class="def">fILE_ATTRIBUTE_HIDDEN</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_HIDDEN" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_HIDDEN" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_SYSTEM" class="def">fILE_ATTRIBUTE_SYSTEM</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_SYSTEM" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_SYSTEM" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_DIRECTORY" class="def">fILE_ATTRIBUTE_DIRECTORY</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_DIRECTORY" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_DIRECTORY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_ARCHIVE" class="def">fILE_ATTRIBUTE_ARCHIVE</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_ARCHIVE" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_ARCHIVE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_NORMAL" class="def">fILE_ATTRIBUTE_NORMAL</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_NORMAL" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_NORMAL" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_TEMPORARY" class="def">fILE_ATTRIBUTE_TEMPORARY</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_TEMPORARY" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_TEMPORARY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_COMPRESSED" class="def">fILE_ATTRIBUTE_COMPRESSED</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_COMPRESSED" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_COMPRESSED" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_ATTRIBUTE_REPARSE_POINT" class="def">fILE_ATTRIBUTE_REPARSE_POINT</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_ATTRIBUTE_REPARSE_POINT" class="link">Source</a> <a href="#v:fILE_ATTRIBUTE_REPARSE_POINT" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_FLAG_WRITE_THROUGH" class="def">fILE_FLAG_WRITE_THROUGH</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_FLAG_WRITE_THROUGH" class="link">Source</a> <a href="#v:fILE_FLAG_WRITE_THROUGH" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_FLAG_OVERLAPPED" class="def">fILE_FLAG_OVERLAPPED</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_FLAG_OVERLAPPED" class="link">Source</a> <a href="#v:fILE_FLAG_OVERLAPPED" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_FLAG_NO_BUFFERING" class="def">fILE_FLAG_NO_BUFFERING</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_FLAG_NO_BUFFERING" class="link">Source</a> <a href="#v:fILE_FLAG_NO_BUFFERING" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_FLAG_RANDOM_ACCESS" class="def">fILE_FLAG_RANDOM_ACCESS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_FLAG_RANDOM_ACCESS" class="link">Source</a> <a href="#v:fILE_FLAG_RANDOM_ACCESS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_FLAG_SEQUENTIAL_SCAN" class="def">fILE_FLAG_SEQUENTIAL_SCAN</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_FLAG_SEQUENTIAL_SCAN" class="link">Source</a> <a href="#v:fILE_FLAG_SEQUENTIAL_SCAN" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_FLAG_DELETE_ON_CLOSE" class="def">fILE_FLAG_DELETE_ON_CLOSE</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_FLAG_DELETE_ON_CLOSE" class="link">Source</a> <a href="#v:fILE_FLAG_DELETE_ON_CLOSE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_FLAG_BACKUP_SEMANTICS" class="def">fILE_FLAG_BACKUP_SEMANTICS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_FLAG_BACKUP_SEMANTICS" class="link">Source</a> <a href="#v:fILE_FLAG_BACKUP_SEMANTICS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_FLAG_POSIX_SEMANTICS" class="def">fILE_FLAG_POSIX_SEMANTICS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#fILE_FLAG_POSIX_SEMANTICS" class="link">Source</a> <a href="#v:fILE_FLAG_POSIX_SEMANTICS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sECURITY_ANONYMOUS" class="def">sECURITY_ANONYMOUS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#sECURITY_ANONYMOUS" class="link">Source</a> <a href="#v:sECURITY_ANONYMOUS" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sECURITY_IDENTIFICATION" class="def">sECURITY_IDENTIFICATION</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#sECURITY_IDENTIFICATION" class="link">Source</a> <a href="#v:sECURITY_IDENTIFICATION" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sECURITY_IMPERSONATION" class="def">sECURITY_IMPERSONATION</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#sECURITY_IMPERSONATION" class="link">Source</a> <a href="#v:sECURITY_IMPERSONATION" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sECURITY_DELEGATION" class="def">sECURITY_DELEGATION</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#sECURITY_DELEGATION" class="link">Source</a> <a href="#v:sECURITY_DELEGATION" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sECURITY_CONTEXT_TRACKING" class="def">sECURITY_CONTEXT_TRACKING</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#sECURITY_CONTEXT_TRACKING" class="link">Source</a> <a href="#v:sECURITY_CONTEXT_TRACKING" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sECURITY_EFFECTIVE_ONLY" class="def">sECURITY_EFFECTIVE_ONLY</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#sECURITY_EFFECTIVE_ONLY" class="link">Source</a> <a href="#v:sECURITY_EFFECTIVE_ONLY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sECURITY_SQOS_PRESENT" class="def">sECURITY_SQOS_PRESENT</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#sECURITY_SQOS_PRESENT" class="link">Source</a> <a href="#v:sECURITY_SQOS_PRESENT" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sECURITY_VALID_SQOS_FLAGS" class="def">sECURITY_VALID_SQOS_FLAGS</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#sECURITY_VALID_SQOS_FLAGS" class="link">Source</a> <a href="#v:sECURITY_VALID_SQOS_FLAGS" class="selflink">#</a></p></div><a href="#g:5" id="g:5"><h1>Move file flags</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:MoveFileFlag" class="def">MoveFileFlag</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#MoveFileFlag" class="link">Source</a> <a href="#t:MoveFileFlag" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mOVEFILE_REPLACE_EXISTING" class="def">mOVEFILE_REPLACE_EXISTING</a> :: <a href="System-Win32-File.html#t:MoveFileFlag" title="System.Win32.File">MoveFileFlag</a> <a href="src/System.Win32.File.html#mOVEFILE_REPLACE_EXISTING" class="link">Source</a> <a href="#v:mOVEFILE_REPLACE_EXISTING" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mOVEFILE_COPY_ALLOWED" class="def">mOVEFILE_COPY_ALLOWED</a> :: <a href="System-Win32-File.html#t:MoveFileFlag" title="System.Win32.File">MoveFileFlag</a> <a href="src/System.Win32.File.html#mOVEFILE_COPY_ALLOWED" class="link">Source</a> <a href="#v:mOVEFILE_COPY_ALLOWED" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mOVEFILE_DELAY_UNTIL_REBOOT" class="def">mOVEFILE_DELAY_UNTIL_REBOOT</a> :: <a href="System-Win32-File.html#t:MoveFileFlag" title="System.Win32.File">MoveFileFlag</a> <a href="src/System.Win32.File.html#mOVEFILE_DELAY_UNTIL_REBOOT" class="link">Source</a> <a href="#v:mOVEFILE_DELAY_UNTIL_REBOOT" class="selflink">#</a></p></div><a href="#g:6" id="g:6"><h1>File pointer directions</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:FilePtrDirection" class="def">FilePtrDirection</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#FilePtrDirection" class="link">Source</a> <a href="#t:FilePtrDirection" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_BEGIN" class="def">fILE_BEGIN</a> :: <a href="System-Win32-File.html#t:FilePtrDirection" title="System.Win32.File">FilePtrDirection</a> <a href="src/System.Win32.File.html#fILE_BEGIN" class="link">Source</a> <a href="#v:fILE_BEGIN" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_CURRENT" class="def">fILE_CURRENT</a> :: <a href="System-Win32-File.html#t:FilePtrDirection" title="System.Win32.File">FilePtrDirection</a> <a href="src/System.Win32.File.html#fILE_CURRENT" class="link">Source</a> <a href="#v:fILE_CURRENT" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_END" class="def">fILE_END</a> :: <a href="System-Win32-File.html#t:FilePtrDirection" title="System.Win32.File">FilePtrDirection</a> <a href="src/System.Win32.File.html#fILE_END" class="link">Source</a> <a href="#v:fILE_END" class="selflink">#</a></p></div><a href="#g:7" id="g:7"><h1>Drive types</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:DriveType" class="def">DriveType</a> = <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a> <a href="src/System.Win32.File.html#DriveType" class="link">Source</a> <a href="#t:DriveType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dRIVE_UNKNOWN" class="def">dRIVE_UNKNOWN</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a> <a href="src/System.Win32.File.html#dRIVE_UNKNOWN" class="link">Source</a> <a href="#v:dRIVE_UNKNOWN" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dRIVE_NO_ROOT_DIR" class="def">dRIVE_NO_ROOT_DIR</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a> <a href="src/System.Win32.File.html#dRIVE_NO_ROOT_DIR" class="link">Source</a> <a href="#v:dRIVE_NO_ROOT_DIR" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dRIVE_REMOVABLE" class="def">dRIVE_REMOVABLE</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a> <a href="src/System.Win32.File.html#dRIVE_REMOVABLE" class="link">Source</a> <a href="#v:dRIVE_REMOVABLE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dRIVE_FIXED" class="def">dRIVE_FIXED</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a> <a href="src/System.Win32.File.html#dRIVE_FIXED" class="link">Source</a> <a href="#v:dRIVE_FIXED" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dRIVE_REMOTE" class="def">dRIVE_REMOTE</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a> <a href="src/System.Win32.File.html#dRIVE_REMOTE" class="link">Source</a> <a href="#v:dRIVE_REMOTE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dRIVE_CDROM" class="def">dRIVE_CDROM</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a> <a href="src/System.Win32.File.html#dRIVE_CDROM" class="link">Source</a> <a href="#v:dRIVE_CDROM" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dRIVE_RAMDISK" class="def">dRIVE_RAMDISK</a> :: <a href="System-Win32-File.html#t:DriveType" title="System.Win32.File">DriveType</a> <a href="src/System.Win32.File.html#dRIVE_RAMDISK" class="link">Source</a> <a href="#v:dRIVE_RAMDISK" class="selflink">#</a></p></div><a href="#g:8" id="g:8"><h1>Define DOS device flags</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:DefineDosDeviceFlags" class="def">DefineDosDeviceFlags</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#DefineDosDeviceFlags" class="link">Source</a> <a href="#t:DefineDosDeviceFlags" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dDD_RAW_TARGET_PATH" class="def">dDD_RAW_TARGET_PATH</a> :: <a href="System-Win32-File.html#t:DefineDosDeviceFlags" title="System.Win32.File">DefineDosDeviceFlags</a> <a href="src/System.Win32.File.html#dDD_RAW_TARGET_PATH" class="link">Source</a> <a href="#v:dDD_RAW_TARGET_PATH" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dDD_REMOVE_DEFINITION" class="def">dDD_REMOVE_DEFINITION</a> :: <a href="System-Win32-File.html#t:DefineDosDeviceFlags" title="System.Win32.File">DefineDosDeviceFlags</a> <a href="src/System.Win32.File.html#dDD_REMOVE_DEFINITION" class="link">Source</a> <a href="#v:dDD_REMOVE_DEFINITION" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:dDD_EXACT_MATCH_ON_REMOVE" class="def">dDD_EXACT_MATCH_ON_REMOVE</a> :: <a href="System-Win32-File.html#t:DefineDosDeviceFlags" title="System.Win32.File">DefineDosDeviceFlags</a> <a href="src/System.Win32.File.html#dDD_EXACT_MATCH_ON_REMOVE" class="link">Source</a> <a href="#v:dDD_EXACT_MATCH_ON_REMOVE" class="selflink">#</a></p></div><a href="#g:9" id="g:9"><h1>Binary types</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:BinaryType" class="def">BinaryType</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#BinaryType" class="link">Source</a> <a href="#t:BinaryType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sCS_32BIT_BINARY" class="def">sCS_32BIT_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a> <a href="src/System.Win32.File.html#sCS_32BIT_BINARY" class="link">Source</a> <a href="#v:sCS_32BIT_BINARY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sCS_DOS_BINARY" class="def">sCS_DOS_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a> <a href="src/System.Win32.File.html#sCS_DOS_BINARY" class="link">Source</a> <a href="#v:sCS_DOS_BINARY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sCS_WOW_BINARY" class="def">sCS_WOW_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a> <a href="src/System.Win32.File.html#sCS_WOW_BINARY" class="link">Source</a> <a href="#v:sCS_WOW_BINARY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sCS_PIF_BINARY" class="def">sCS_PIF_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a> <a href="src/System.Win32.File.html#sCS_PIF_BINARY" class="link">Source</a> <a href="#v:sCS_PIF_BINARY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sCS_POSIX_BINARY" class="def">sCS_POSIX_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a> <a href="src/System.Win32.File.html#sCS_POSIX_BINARY" class="link">Source</a> <a href="#v:sCS_POSIX_BINARY" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:sCS_OS216_BINARY" class="def">sCS_OS216_BINARY</a> :: <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a> <a href="src/System.Win32.File.html#sCS_OS216_BINARY" class="link">Source</a> <a href="#v:sCS_OS216_BINARY" class="selflink">#</a></p></div><a href="#g:10" id="g:10"><h1>File notification flags</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:FileNotificationFlag" class="def">FileNotificationFlag</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#FileNotificationFlag" class="link">Source</a> <a href="#t:FileNotificationFlag" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_NOTIFY_CHANGE_FILE_NAME" class="def">fILE_NOTIFY_CHANGE_FILE_NAME</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a> <a href="src/System.Win32.File.html#fILE_NOTIFY_CHANGE_FILE_NAME" class="link">Source</a> <a href="#v:fILE_NOTIFY_CHANGE_FILE_NAME" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_NOTIFY_CHANGE_DIR_NAME" class="def">fILE_NOTIFY_CHANGE_DIR_NAME</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a> <a href="src/System.Win32.File.html#fILE_NOTIFY_CHANGE_DIR_NAME" class="link">Source</a> <a href="#v:fILE_NOTIFY_CHANGE_DIR_NAME" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_NOTIFY_CHANGE_ATTRIBUTES" class="def">fILE_NOTIFY_CHANGE_ATTRIBUTES</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a> <a href="src/System.Win32.File.html#fILE_NOTIFY_CHANGE_ATTRIBUTES" class="link">Source</a> <a href="#v:fILE_NOTIFY_CHANGE_ATTRIBUTES" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_NOTIFY_CHANGE_SIZE" class="def">fILE_NOTIFY_CHANGE_SIZE</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a> <a href="src/System.Win32.File.html#fILE_NOTIFY_CHANGE_SIZE" class="link">Source</a> <a href="#v:fILE_NOTIFY_CHANGE_SIZE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_NOTIFY_CHANGE_LAST_WRITE" class="def">fILE_NOTIFY_CHANGE_LAST_WRITE</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a> <a href="src/System.Win32.File.html#fILE_NOTIFY_CHANGE_LAST_WRITE" class="link">Source</a> <a href="#v:fILE_NOTIFY_CHANGE_LAST_WRITE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_NOTIFY_CHANGE_SECURITY" class="def">fILE_NOTIFY_CHANGE_SECURITY</a> :: <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a> <a href="src/System.Win32.File.html#fILE_NOTIFY_CHANGE_SECURITY" class="link">Source</a> <a href="#v:fILE_NOTIFY_CHANGE_SECURITY" class="selflink">#</a></p></div><a href="#g:11" id="g:11"><h1>File types</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:FileType" class="def">FileType</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#FileType" class="link">Source</a> <a href="#t:FileType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_TYPE_UNKNOWN" class="def">fILE_TYPE_UNKNOWN</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a> <a href="src/System.Win32.File.html#fILE_TYPE_UNKNOWN" class="link">Source</a> <a href="#v:fILE_TYPE_UNKNOWN" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_TYPE_DISK" class="def">fILE_TYPE_DISK</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a> <a href="src/System.Win32.File.html#fILE_TYPE_DISK" class="link">Source</a> <a href="#v:fILE_TYPE_DISK" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_TYPE_CHAR" class="def">fILE_TYPE_CHAR</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a> <a href="src/System.Win32.File.html#fILE_TYPE_CHAR" class="link">Source</a> <a href="#v:fILE_TYPE_CHAR" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_TYPE_PIPE" class="def">fILE_TYPE_PIPE</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a> <a href="src/System.Win32.File.html#fILE_TYPE_PIPE" class="link">Source</a> <a href="#v:fILE_TYPE_PIPE" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:fILE_TYPE_REMOTE" class="def">fILE_TYPE_REMOTE</a> :: <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a> <a href="src/System.Win32.File.html#fILE_TYPE_REMOTE" class="link">Source</a> <a href="#v:fILE_TYPE_REMOTE" class="selflink">#</a></p></div><a href="#g:12" id="g:12"><h1>Lock modes</h1></a><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:LockMode" class="def">LockMode</a> = <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#LockMode" class="link">Source</a> <a href="#t:LockMode" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lOCKFILE_EXCLUSIVE_LOCK" class="def">lOCKFILE_EXCLUSIVE_LOCK</a> :: <a href="System-Win32-File.html#t:LockMode" title="System.Win32.File">LockMode</a> <a href="src/System.Win32.File.html#lOCKFILE_EXCLUSIVE_LOCK" class="link">Source</a> <a href="#v:lOCKFILE_EXCLUSIVE_LOCK" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:lOCKFILE_FAIL_IMMEDIATELY" class="def">lOCKFILE_FAIL_IMMEDIATELY</a> :: <a href="System-Win32-File.html#t:LockMode" title="System.Win32.File">LockMode</a> <a href="src/System.Win32.File.html#lOCKFILE_FAIL_IMMEDIATELY" class="link">Source</a> <a href="#v:lOCKFILE_FAIL_IMMEDIATELY" class="selflink">#</a></p></div><a href="#g:13" id="g:13"><h1>GetFileEx information levels</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:GET_FILEEX_INFO_LEVELS" class="def">GET_FILEEX_INFO_LEVELS</a> <a href="src/System.Win32.File.html#GET_FILEEX_INFO_LEVELS" class="link">Source</a> <a href="#t:GET_FILEEX_INFO_LEVELS" class="selflink">#</a></p><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:GET_FILEEX_INFO_LEVELS">Instances</h4><details id="i:GET_FILEEX_INFO_LEVELS" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:GET_FILEEX_INFO_LEVELS:Eq:1"></span> <a href="../base/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a></span> <a href="src/System.Win32.File.html#line-452" class="link">Source</a> <a href="#t:GET_FILEEX_INFO_LEVELS" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:GET_FILEEX_INFO_LEVELS:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:GET_FILEEX_INFO_LEVELS:Ord:2"></span> <a href="../base/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a></span> <a href="src/System.Win32.File.html#line-452" class="link">Source</a> <a href="#t:GET_FILEEX_INFO_LEVELS" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:GET_FILEEX_INFO_LEVELS:Ord:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="../base/Data-Ord.html#t:Ordering" title="Data.Ord">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> -&gt; <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> <a href="#v:min" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:getFileExInfoStandard" class="def">getFileExInfoStandard</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> <a href="src/System.Win32.File.html#getFileExInfoStandard" class="link">Source</a> <a href="#v:getFileExInfoStandard" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getFileExMaxInfoLevel" class="def">getFileExMaxInfoLevel</a> :: <a href="System-Win32-File.html#t:GET_FILEEX_INFO_LEVELS" title="System.Win32.File">GET_FILEEX_INFO_LEVELS</a> <a href="src/System.Win32.File.html#getFileExMaxInfoLevel" class="link">Source</a> <a href="#v:getFileExMaxInfoLevel" class="selflink">#</a></p></div><a href="#g:14" id="g:14"><h1>Security attributes</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:SECURITY_ATTRIBUTES" class="def">SECURITY_ATTRIBUTES</a> <a href="src/System.Win32.File.html#SECURITY_ATTRIBUTES" class="link">Source</a> <a href="#t:SECURITY_ATTRIBUTES" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:SECURITY_ATTRIBUTES" class="def">SECURITY_ATTRIBUTES</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:nLength" class="def">nLength</a> :: !<a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:lpSecurityDescriptor" class="def">lpSecurityDescriptor</a> :: !<a href="System-Win32-Types.html#t:LPVOID" title="System.Win32.Types">LPVOID</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:bInheritHandle" class="def">bInheritHandle</a> :: !<a href="System-Win32-Types.html#t:BOOL" title="System.Win32.Types">BOOL</a></dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:SECURITY_ATTRIBUTES">Instances</h4><details id="i:SECURITY_ATTRIBUTES" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SECURITY_ATTRIBUTES:Storable:1"></span> <a href="../base/Foreign-Storable.html#t:Storable" title="Foreign.Storable">Storable</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a></span> <a href="src/System.Win32.File.html#line-471" class="link">Source</a> <a href="#t:SECURITY_ATTRIBUTES" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:SECURITY_ATTRIBUTES:Storable:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:sizeOf">sizeOf</a> :: <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="../base/src/Foreign.Storable.html#sizeOf" class="link">Source</a> <a href="#v:sizeOf" class="selflink">#</a></p><p class="src"><a href="#v:alignment">alignment</a> :: <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="../base/src/Foreign.Storable.html#alignment" class="link">Source</a> <a href="#v:alignment" class="selflink">#</a></p><p class="src"><a href="#v:peekElemOff">peekElemOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> <a href="../base/src/Foreign.Storable.html#peekElemOff" class="link">Source</a> <a href="#v:peekElemOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeElemOff">pokeElemOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#pokeElemOff" class="link">Source</a> <a href="#v:pokeElemOff" class="selflink">#</a></p><p class="src"><a href="#v:peekByteOff">peekByteOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> b -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> <a href="../base/src/Foreign.Storable.html#peekByteOff" class="link">Source</a> <a href="#v:peekByteOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeByteOff">pokeByteOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> b -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#pokeByteOff" class="link">Source</a> <a href="#v:pokeByteOff" class="selflink">#</a></p><p class="src"><a href="#v:peek">peek</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> <a href="../base/src/Foreign.Storable.html#peek" class="link">Source</a> <a href="#v:peek" class="selflink">#</a></p><p class="src"><a href="#v:poke">poke</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#poke" class="link">Source</a> <a href="#v:poke" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:SECURITY_ATTRIBUTES:Show:2"></span> <a href="../base/Text-Show.html#t:Show" title="Text.Show">Show</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a></span> <a href="src/System.Win32.File.html#line-465" class="link">Source</a> <a href="#t:SECURITY_ATTRIBUTES" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:SECURITY_ATTRIBUTES:Show:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="../base/src/GHC.Show.html#showsPrec" class="link">Source</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> <a href="../base/src/GHC.Show.html#show" class="link">Source</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a>] -&gt; <a href="../base/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="../base/src/GHC.Show.html#showList" class="link">Source</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:PSECURITY_ATTRIBUTES" class="def">PSECURITY_ATTRIBUTES</a> = <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> <a href="src/System.Win32.File.html#PSECURITY_ATTRIBUTES" class="link">Source</a> <a href="#t:PSECURITY_ATTRIBUTES" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:LPSECURITY_ATTRIBUTES" class="def">LPSECURITY_ATTRIBUTES</a> = <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:SECURITY_ATTRIBUTES" title="System.Win32.File">SECURITY_ATTRIBUTES</a> <a href="src/System.Win32.File.html#LPSECURITY_ATTRIBUTES" class="link">Source</a> <a href="#t:LPSECURITY_ATTRIBUTES" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:MbLPSECURITY_ATTRIBUTES" class="def">MbLPSECURITY_ATTRIBUTES</a> = <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPSECURITY_ATTRIBUTES" title="System.Win32.File">LPSECURITY_ATTRIBUTES</a> <a href="src/System.Win32.File.html#MbLPSECURITY_ATTRIBUTES" class="link">Source</a> <a href="#t:MbLPSECURITY_ATTRIBUTES" class="selflink">#</a></p></div><a href="#g:15" id="g:15"><h1>BY_HANDLE file information</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:BY_HANDLE_FILE_INFORMATION" class="def">BY_HANDLE_FILE_INFORMATION</a> <a href="src/System.Win32.File.html#BY_HANDLE_FILE_INFORMATION" class="link">Source</a> <a href="#t:BY_HANDLE_FILE_INFORMATION" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:BY_HANDLE_FILE_INFORMATION" class="def">BY_HANDLE_FILE_INFORMATION</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:bhfiFileAttributes" class="def">bhfiFileAttributes</a> :: <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:bhfiCreationTime" class="def">bhfiCreationTime</a>, <a id="v:bhfiLastAccessTime" class="def">bhfiLastAccessTime</a>, <a id="v:bhfiLastWriteTime" class="def">bhfiLastWriteTime</a> :: <a href="System-Win32-Time.html#t:FILETIME" title="System.Win32.Time">FILETIME</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:bhfiVolumeSerialNumber" class="def">bhfiVolumeSerialNumber</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:bhfiSize" class="def">bhfiSize</a> :: <a href="System-Win32-Types.html#t:DDWORD" title="System.Win32.Types">DDWORD</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:bhfiNumberOfLinks" class="def">bhfiNumberOfLinks</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:bhfiFileIndex" class="def">bhfiFileIndex</a> :: <a href="System-Win32-Types.html#t:DDWORD" title="System.Win32.Types">DDWORD</a></dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:BY_HANDLE_FILE_INFORMATION">Instances</h4><details id="i:BY_HANDLE_FILE_INFORMATION" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:BY_HANDLE_FILE_INFORMATION:Storable:1"></span> <a href="../base/Foreign-Storable.html#t:Storable" title="Foreign.Storable">Storable</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a></span> <a href="src/System.Win32.File.html#line-497" class="link">Source</a> <a href="#t:BY_HANDLE_FILE_INFORMATION" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:BY_HANDLE_FILE_INFORMATION:Storable:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:sizeOf">sizeOf</a> :: <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="../base/src/Foreign.Storable.html#sizeOf" class="link">Source</a> <a href="#v:sizeOf" class="selflink">#</a></p><p class="src"><a href="#v:alignment">alignment</a> :: <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="../base/src/Foreign.Storable.html#alignment" class="link">Source</a> <a href="#v:alignment" class="selflink">#</a></p><p class="src"><a href="#v:peekElemOff">peekElemOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> <a href="../base/src/Foreign.Storable.html#peekElemOff" class="link">Source</a> <a href="#v:peekElemOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeElemOff">pokeElemOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#pokeElemOff" class="link">Source</a> <a href="#v:pokeElemOff" class="selflink">#</a></p><p class="src"><a href="#v:peekByteOff">peekByteOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> b -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> <a href="../base/src/Foreign.Storable.html#peekByteOff" class="link">Source</a> <a href="#v:peekByteOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeByteOff">pokeByteOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> b -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#pokeByteOff" class="link">Source</a> <a href="#v:pokeByteOff" class="selflink">#</a></p><p class="src"><a href="#v:peek">peek</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> <a href="../base/src/Foreign.Storable.html#peek" class="link">Source</a> <a href="#v:peek" class="selflink">#</a></p><p class="src"><a href="#v:poke">poke</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#poke" class="link">Source</a> <a href="#v:poke" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:BY_HANDLE_FILE_INFORMATION:Show:2"></span> <a href="../base/Text-Show.html#t:Show" title="Text.Show">Show</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a></span> <a href="src/System.Win32.File.html#line-495" class="link">Source</a> <a href="#t:BY_HANDLE_FILE_INFORMATION" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:BY_HANDLE_FILE_INFORMATION:Show:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="../base/src/GHC.Show.html#showsPrec" class="link">Source</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> <a href="../base/src/GHC.Show.html#show" class="link">Source</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a>] -&gt; <a href="../base/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="../base/src/GHC.Show.html#showList" class="link">Source</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:16" id="g:16"><h1>Win32 file attribute data</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:WIN32_FILE_ATTRIBUTE_DATA" class="def">WIN32_FILE_ATTRIBUTE_DATA</a> <a href="src/System.Win32.File.html#WIN32_FILE_ATTRIBUTE_DATA" class="link">Source</a> <a href="#t:WIN32_FILE_ATTRIBUTE_DATA" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:WIN32_FILE_ATTRIBUTE_DATA" class="def">WIN32_FILE_ATTRIBUTE_DATA</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:fadFileAttributes" class="def">fadFileAttributes</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:fadCreationTime" class="def">fadCreationTime</a>, <a id="v:fadLastAccessTime" class="def">fadLastAccessTime</a>, <a id="v:fadLastWriteTime" class="def">fadLastWriteTime</a> :: <a href="System-Win32-Time.html#t:FILETIME" title="System.Win32.Time">FILETIME</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:fadFileSize" class="def">fadFileSize</a> :: <a href="System-Win32-Types.html#t:DDWORD" title="System.Win32.Types">DDWORD</a></dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:WIN32_FILE_ATTRIBUTE_DATA">Instances</h4><details id="i:WIN32_FILE_ATTRIBUTE_DATA" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WIN32_FILE_ATTRIBUTE_DATA:Storable:1"></span> <a href="../base/Foreign-Storable.html#t:Storable" title="Foreign.Storable">Storable</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a></span> <a href="src/System.Win32.File.html#line-537" class="link">Source</a> <a href="#t:WIN32_FILE_ATTRIBUTE_DATA" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:WIN32_FILE_ATTRIBUTE_DATA:Storable:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:sizeOf">sizeOf</a> :: <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="../base/src/Foreign.Storable.html#sizeOf" class="link">Source</a> <a href="#v:sizeOf" class="selflink">#</a></p><p class="src"><a href="#v:alignment">alignment</a> :: <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="../base/src/Foreign.Storable.html#alignment" class="link">Source</a> <a href="#v:alignment" class="selflink">#</a></p><p class="src"><a href="#v:peekElemOff">peekElemOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> <a href="../base/src/Foreign.Storable.html#peekElemOff" class="link">Source</a> <a href="#v:peekElemOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeElemOff">pokeElemOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#pokeElemOff" class="link">Source</a> <a href="#v:pokeElemOff" class="selflink">#</a></p><p class="src"><a href="#v:peekByteOff">peekByteOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> b -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> <a href="../base/src/Foreign.Storable.html#peekByteOff" class="link">Source</a> <a href="#v:peekByteOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeByteOff">pokeByteOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> b -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#pokeByteOff" class="link">Source</a> <a href="#v:pokeByteOff" class="selflink">#</a></p><p class="src"><a href="#v:peek">peek</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> <a href="../base/src/Foreign.Storable.html#peek" class="link">Source</a> <a href="#v:peek" class="selflink">#</a></p><p class="src"><a href="#v:poke">poke</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#poke" class="link">Source</a> <a href="#v:poke" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:WIN32_FILE_ATTRIBUTE_DATA:Show:2"></span> <a href="../base/Text-Show.html#t:Show" title="Text.Show">Show</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a></span> <a href="src/System.Win32.File.html#line-535" class="link">Source</a> <a href="#t:WIN32_FILE_ATTRIBUTE_DATA" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:WIN32_FILE_ATTRIBUTE_DATA:Show:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="../base/src/GHC.Show.html#showsPrec" class="link">Source</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> <a href="../base/src/GHC.Show.html#show" class="link">Source</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a>] -&gt; <a href="../base/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="../base/src/GHC.Show.html#showList" class="link">Source</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:17" id="g:17"><h1>Helpers</h1></a><div class="top"><p class="src"><a id="v:failIfWithRetry" class="def">failIfWithRetry</a> :: (a -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> a -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> a <a href="src/System.Win32.File.html#failIfWithRetry" class="link">Source</a> <a href="#v:failIfWithRetry" class="selflink">#</a></p><div class="doc"><p>like failIfFalse_, but retried on sharing violations.
 This is necessary for many file operations; see
   <a href="http://support.microsoft.com/kb/316609">http://support.microsoft.com/kb/316609</a></p></div></div><div class="top"><p class="src"><a id="v:failIfWithRetry_" class="def">failIfWithRetry_</a> :: (a -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> a -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#failIfWithRetry_" class="link">Source</a> <a href="#v:failIfWithRetry_" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:failIfFalseWithRetry_" class="def">failIfFalseWithRetry_</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#failIfFalseWithRetry_" class="link">Source</a> <a href="#v:failIfFalseWithRetry_" class="selflink">#</a></p></div><a href="#g:18" id="g:18"><h1>File operations</h1></a><div class="top"><p class="src"><a id="v:deleteFile" class="def">deleteFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#deleteFile" class="link">Source</a> <a href="#v:deleteFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:copyFile" class="def">copyFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#copyFile" class="link">Source</a> <a href="#v:copyFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:moveFile" class="def">moveFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#moveFile" class="link">Source</a> <a href="#v:moveFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:moveFileEx" class="def">moveFileEx</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="System-Win32-File.html#t:MoveFileFlag" title="System.Win32.File">MoveFileFlag</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#moveFileEx" class="link">Source</a> <a href="#v:moveFileEx" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setCurrentDirectory" class="def">setCurrentDirectory</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#setCurrentDirectory" class="link">Source</a> <a href="#v:setCurrentDirectory" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:createDirectory" class="def">createDirectory</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPSECURITY_ATTRIBUTES" title="System.Win32.File">LPSECURITY_ATTRIBUTES</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#createDirectory" class="link">Source</a> <a href="#v:createDirectory" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:createDirectoryEx" class="def">createDirectoryEx</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPSECURITY_ATTRIBUTES" title="System.Win32.File">LPSECURITY_ATTRIBUTES</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#createDirectoryEx" class="link">Source</a> <a href="#v:createDirectoryEx" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:removeDirectory" class="def">removeDirectory</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#removeDirectory" class="link">Source</a> <a href="#v:removeDirectory" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getBinaryType" class="def">getBinaryType</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:BinaryType" title="System.Win32.File">BinaryType</a> <a href="src/System.Win32.File.html#getBinaryType" class="link">Source</a> <a href="#v:getBinaryType" class="selflink">#</a></p></div><a href="#g:19" id="g:19"><h1>HANDLE operations</h1></a><div class="top"><p class="src"><a id="v:createFile" class="def">createFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="System-Win32-File.html#t:AccessMode" title="System.Win32.File">AccessMode</a> -&gt; <a href="System-Win32-File.html#t:ShareMode" title="System.Win32.File">ShareMode</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPSECURITY_ATTRIBUTES" title="System.Win32.File">LPSECURITY_ATTRIBUTES</a> -&gt; <a href="System-Win32-File.html#t:CreateMode" title="System.Win32.File">CreateMode</a> -&gt; <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> <a href="src/System.Win32.File.html#createFile" class="link">Source</a> <a href="#v:createFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:closeHandle" class="def">closeHandle</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#closeHandle" class="link">Source</a> <a href="#v:closeHandle" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getFileType" class="def">getFileType</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:FileType" title="System.Win32.File">FileType</a> <a href="src/System.Win32.File.html#getFileType" class="link">Source</a> <a href="#v:getFileType" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:flushFileBuffers" class="def">flushFileBuffers</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#flushFileBuffers" class="link">Source</a> <a href="#v:flushFileBuffers" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setEndOfFile" class="def">setEndOfFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#setEndOfFile" class="link">Source</a> <a href="#v:setEndOfFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setFileAttributes" class="def">setFileAttributes</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#setFileAttributes" class="link">Source</a> <a href="#v:setFileAttributes" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getFileAttributes" class="def">getFileAttributes</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:FileAttributeOrFlag" title="System.Win32.File">FileAttributeOrFlag</a> <a href="src/System.Win32.File.html#getFileAttributes" class="link">Source</a> <a href="#v:getFileAttributes" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getFileAttributesExStandard" class="def">getFileAttributesExStandard</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:WIN32_FILE_ATTRIBUTE_DATA" title="System.Win32.File">WIN32_FILE_ATTRIBUTE_DATA</a> <a href="src/System.Win32.File.html#getFileAttributesExStandard" class="link">Source</a> <a href="#v:getFileAttributesExStandard" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getFileInformationByHandle" class="def">getFileInformationByHandle</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:BY_HANDLE_FILE_INFORMATION" title="System.Win32.File">BY_HANDLE_FILE_INFORMATION</a> <a href="src/System.Win32.File.html#getFileInformationByHandle" class="link">Source</a> <a href="#v:getFileInformationByHandle" class="selflink">#</a></p></div><a href="#g:20" id="g:20"><h2>Reading/writing</h2></a><div class="doc"><p>Some operations below bear the <code>win32_</code> prefix to avoid shadowing
 operations from <a href="../base/Prelude.html">Prelude</a>.</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:OVERLAPPED" class="def">OVERLAPPED</a> <a href="src/System.Win32.File.html#OVERLAPPED" class="link">Source</a> <a href="#t:OVERLAPPED" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:OVERLAPPED" class="def">OVERLAPPED</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:ovl_internal" class="def">ovl_internal</a> :: <a href="System-Win32-Types.html#t:ULONG_PTR" title="System.Win32.Types">ULONG_PTR</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:ovl_internalHigh" class="def">ovl_internalHigh</a> :: <a href="System-Win32-Types.html#t:ULONG_PTR" title="System.Win32.Types">ULONG_PTR</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:ovl_offset" class="def">ovl_offset</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:ovl_offsetHigh" class="def">ovl_offsetHigh</a> :: <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a></dfn><div class="doc empty">&nbsp;</div></li><li><dfn class="src"><a id="v:ovl_hEvent" class="def">ovl_hEvent</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a></dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:OVERLAPPED">Instances</h4><details id="i:OVERLAPPED" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:OVERLAPPED:Storable:1"></span> <a href="../base/Foreign-Storable.html#t:Storable" title="Foreign.Storable">Storable</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a></span> <a href="src/System.Win32.File.html#line-751" class="link">Source</a> <a href="#t:OVERLAPPED" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:OVERLAPPED:Storable:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:sizeOf">sizeOf</a> :: <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="../base/src/Foreign.Storable.html#sizeOf" class="link">Source</a> <a href="#v:sizeOf" class="selflink">#</a></p><p class="src"><a href="#v:alignment">alignment</a> :: <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="../base/src/Foreign.Storable.html#alignment" class="link">Source</a> <a href="#v:alignment" class="selflink">#</a></p><p class="src"><a href="#v:peekElemOff">peekElemOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> <a href="../base/src/Foreign.Storable.html#peekElemOff" class="link">Source</a> <a href="#v:peekElemOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeElemOff">pokeElemOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#pokeElemOff" class="link">Source</a> <a href="#v:pokeElemOff" class="selflink">#</a></p><p class="src"><a href="#v:peekByteOff">peekByteOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> b -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> <a href="../base/src/Foreign.Storable.html#peekByteOff" class="link">Source</a> <a href="#v:peekByteOff" class="selflink">#</a></p><p class="src"><a href="#v:pokeByteOff">pokeByteOff</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> b -&gt; <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#pokeByteOff" class="link">Source</a> <a href="#v:pokeByteOff" class="selflink">#</a></p><p class="src"><a href="#v:peek">peek</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> <a href="../base/src/Foreign.Storable.html#peek" class="link">Source</a> <a href="#v:peek" class="selflink">#</a></p><p class="src"><a href="#v:poke">poke</a> :: <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="../base/src/Foreign.Storable.html#poke" class="link">Source</a> <a href="#v:poke" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:OVERLAPPED:Show:2"></span> <a href="../base/Text-Show.html#t:Show" title="Text.Show">Show</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a></span> <a href="src/System.Win32.File.html#line-749" class="link">Source</a> <a href="#t:OVERLAPPED" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:OVERLAPPED:Show:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="System-Win32-File.html">System.Win32.File</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="../base/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="../base/src/GHC.Show.html#showsPrec" class="link">Source</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> <a href="../base/src/GHC.Show.html#show" class="link">Source</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a>] -&gt; <a href="../base/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="../base/src/GHC.Show.html#showList" class="link">Source</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:LPOVERLAPPED" class="def">LPOVERLAPPED</a> = <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> <a href="System-Win32-File.html#t:OVERLAPPED" title="System.Win32.File">OVERLAPPED</a> <a href="src/System.Win32.File.html#LPOVERLAPPED" class="link">Source</a> <a href="#t:LPOVERLAPPED" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:MbLPOVERLAPPED" class="def">MbLPOVERLAPPED</a> = <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPOVERLAPPED" title="System.Win32.File">LPOVERLAPPED</a> <a href="src/System.Win32.File.html#MbLPOVERLAPPED" class="link">Source</a> <a href="#t:MbLPOVERLAPPED" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:win32_ReadFile" class="def">win32_ReadFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> a -&gt; <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPOVERLAPPED" title="System.Win32.File">LPOVERLAPPED</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#win32_ReadFile" class="link">Source</a> <a href="#v:win32_ReadFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:win32_WriteFile" class="def">win32_WriteFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/Foreign-Ptr.html#t:Ptr" title="Foreign.Ptr">Ptr</a> a -&gt; <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="System-Win32-File.html#t:LPOVERLAPPED" title="System.Win32.File">LPOVERLAPPED</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#win32_WriteFile" class="link">Source</a> <a href="#v:win32_WriteFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setFilePointerEx" class="def">setFilePointerEx</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="System-Win32-Types.html#t:LARGE_INTEGER" title="System.Win32.Types">LARGE_INTEGER</a> -&gt; <a href="System-Win32-File.html#t:FilePtrDirection" title="System.Win32.File">FilePtrDirection</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:LARGE_INTEGER" title="System.Win32.Types">LARGE_INTEGER</a> <a href="src/System.Win32.File.html#setFilePointerEx" class="link">Source</a> <a href="#v:setFilePointerEx" class="selflink">#</a></p></div><a href="#g:21" id="g:21"><h1>File notifications</h1></a><div class="top"><p class="src"><a id="v:findFirstChangeNotification" class="def">findFirstChangeNotification</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -&gt; <a href="System-Win32-File.html#t:FileNotificationFlag" title="System.Win32.File">FileNotificationFlag</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> <a href="src/System.Win32.File.html#findFirstChangeNotification" class="link">Source</a> <a href="#v:findFirstChangeNotification" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findNextChangeNotification" class="def">findNextChangeNotification</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#findNextChangeNotification" class="link">Source</a> <a href="#v:findNextChangeNotification" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findCloseChangeNotification" class="def">findCloseChangeNotification</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#findCloseChangeNotification" class="link">Source</a> <a href="#v:findCloseChangeNotification" class="selflink">#</a></p></div><a href="#g:22" id="g:22"><h1>Directories</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:FindData" class="def">FindData</a> <a href="src/System.Win32.File.html#FindData" class="link">Source</a> <a href="#t:FindData" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getFindDataFileName" class="def">getFindDataFileName</a> :: <a href="System-Win32-File.html#t:FindData" title="System.Win32.File">FindData</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="../base/System-IO.html#t:FilePath" title="System.IO">FilePath</a> <a href="src/System.Win32.File.html#getFindDataFileName" class="link">Source</a> <a href="#v:getFindDataFileName" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findFirstFile" class="def">findFirstFile</a> :: <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> (<a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a>, <a href="System-Win32-File.html#t:FindData" title="System.Win32.File">FindData</a>) <a href="src/System.Win32.File.html#findFirstFile" class="link">Source</a> <a href="#v:findFirstFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findNextFile" class="def">findNextFile</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="System-Win32-File.html#t:FindData" title="System.Win32.File">FindData</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="src/System.Win32.File.html#findNextFile" class="link">Source</a> <a href="#v:findNextFile" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findClose" class="def">findClose</a> :: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#findClose" class="link">Source</a> <a href="#v:findClose" class="selflink">#</a></p></div><a href="#g:23" id="g:23"><h1>DOS device flags</h1></a><div class="top"><p class="src"><a id="v:defineDosDevice" class="def">defineDosDevice</a> :: <a href="System-Win32-File.html#t:DefineDosDeviceFlags" title="System.Win32.File">DefineDosDeviceFlags</a> -&gt; <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#defineDosDevice" class="link">Source</a> <a href="#v:defineDosDevice" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:areFileApisANSI" class="def">areFileApisANSI</a> :: <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="../base/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="src/System.Win32.File.html#areFileApisANSI" class="link">Source</a> <a href="#v:areFileApisANSI" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setFileApisToOEM" class="def">setFileApisToOEM</a> :: <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#setFileApisToOEM" class="link">Source</a> <a href="#v:setFileApisToOEM" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setFileApisToANSI" class="def">setFileApisToANSI</a> :: <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#setFileApisToANSI" class="link">Source</a> <a href="#v:setFileApisToANSI" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setHandleCount" class="def">setHandleCount</a> :: <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:UINT" title="System.Win32.Types">UINT</a> <a href="src/System.Win32.File.html#setHandleCount" class="link">Source</a> <a href="#v:setHandleCount" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getLogicalDrives" class="def">getLogicalDrives</a> :: <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a> <a href="src/System.Win32.File.html#getLogicalDrives" class="link">Source</a> <a href="#v:getLogicalDrives" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:getDiskFreeSpace" class="def">getDiskFreeSpace</a> :: <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> (<a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a>, <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a>, <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a>, <a href="System-Win32-Types.html#t:DWORD" title="System.Win32.Types">DWORD</a>) <a href="src/System.Win32.File.html#getDiskFreeSpace" class="link">Source</a> <a href="#v:getDiskFreeSpace" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:setVolumeLabel" class="def">setVolumeLabel</a> :: <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="../base/Data-String.html#t:String" title="Data.String">String</a> -&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> () <a href="src/System.Win32.File.html#setVolumeLabel" class="link">Source</a> <a href="#v:setVolumeLabel" class="selflink">#</a></p></div><a href="#g:24" id="g:24"><h1>File locks</h1></a><div class="top"><p class="src"><a id="v:lockFile" class="def">lockFile</a> <a href="src/System.Win32.File.html#lockFile" class="link">Source</a> <a href="#v:lockFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a></td><td class="doc"><p>CreateFile handle</p></td></tr><tr><td class="src">-&gt; <a href="System-Win32-File.html#t:LockMode" title="System.Win32.File">LockMode</a></td><td class="doc"><p>Locking mode</p></td></tr><tr><td class="src">-&gt; <a href="System-Win32-Types.html#t:DWORD64" title="System.Win32.Types">DWORD64</a></td><td class="doc"><p>Size of region to lock</p></td></tr><tr><td class="src">-&gt; <a href="System-Win32-Types.html#t:DWORD64" title="System.Win32.Types">DWORD64</a></td><td class="doc"><p>Beginning offset of file to lock</p></td></tr><tr><td class="src">-&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:BOOL" title="System.Win32.Types">BOOL</a></td><td class="doc"><p>Indicates if locking was successful, if not query
   getLastError.</p></td></tr></table></div><div class="doc"><p>Locks a given range in a file handle, To lock an entire file
   use 0xFFFFFFFFFFFFFFFF for size and 0 for offset.</p></div></div><div class="top"><p class="src"><a id="v:unlockFile" class="def">unlockFile</a> <a href="src/System.Win32.File.html#unlockFile" class="link">Source</a> <a href="#v:unlockFile" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="System-Win32-Types.html#t:HANDLE" title="System.Win32.Types">HANDLE</a></td><td class="doc"><p>CreateFile handle</p></td></tr><tr><td class="src">-&gt; <a href="System-Win32-Types.html#t:DWORD64" title="System.Win32.Types">DWORD64</a></td><td class="doc"><p>Size of region to unlock</p></td></tr><tr><td class="src">-&gt; <a href="System-Win32-Types.html#t:DWORD64" title="System.Win32.Types">DWORD64</a></td><td class="doc"><p>Beginning offset of file to unlock</p></td></tr><tr><td class="src">-&gt; <a href="../base/System-IO.html#t:IO" title="System.IO">IO</a> <a href="System-Win32-Types.html#t:BOOL" title="System.Win32.Types">BOOL</a></td><td class="doc"><p>Indicates if unlocking was successful, if not query
   getLastError.</p></td></tr></table></div><div class="doc"><p>Unlocks a given range in a file handle, To unlock an entire file
   use 0xFFFFFFFFFFFFFFFF for size and 0 for offset.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.25.1</p></div></body></html>